#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
快速新闻爬虫 - 主启动程序
===========================

这个脚本是快速新闻爬虫的入口点。
它负责设置必要的环境路径，并调用位于 `core/web_spider` 模块中的 `news_spider_quickly.py` 主程序。

使用方法:
    # 直接运行，使用默认参数抓取
    python web_spider_run.py

    # 指定URL进行抓取
    python web_spider_run.py --url "http://www.example.com"
"""

import os
import sys

# 将项目根目录添加到Python的模块搜索路径中
# 这确保了无论从哪个目录运行此脚本，总能正确地找到core模块
project_root = os.path.dirname(os.path.abspath(__file__))
if project_root not in sys.path:
    sys.path.insert(0, project_root)

# 从核心模块导入主函数
# 我们只导入main函数，避免将业务逻辑代码直接暴露在启动脚本中
try:
    from core.web_spider.news_spider_quickly import main as quick_spider_main
except ImportError as e:
    print("错误: 无法导入快速爬虫核心模块。")
    print("这是一个严重错误，通常由以下原因之一造成：")
    print("  1. 项目目录结构被意外更改，导致找不到核心文件。")
    print("  2. `core` 目录或其子目录中的某个文件存在语法错误，导致导入失败。")
    print("  3. 某个核心文件内部的导入语句不正确（例如，尝试导入一个不存在的模块）。")
    print("\n--- 调试建议 ---")
    print(f"Python报告说，当尝试加载爬虫模块时，找不到名为 '{e.name}' 的模块。")
    print("请检查 `core/web_spider/news_spider_quickly.py` 文件中的导入语句是否正确，")
    print("特别是涉及到 'e.name' 的那一行，以及确认对应的文件是否存在于正确的位置。")
    print(f"\n原始错误信息: {e}")
    sys.exit(1)


if __name__ == '__main__':
    # 调用并执行快速爬虫的主函数
    quick_spider_main()
